java根据第一个单词的长度反转字符串
我不熟悉Java字符串。 事实上,我有反转单词的代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test2 {
public static void main(String[] args) throws IOException
{
System.out.println("enter a sentence");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String rev =br.readLine();
String [] bread = rev.split(" ");
for(int z =bread.length-1;z>=0;z--)
{
System.out.println(bread[z]);
}
}
}
对于上述代码,我得到:
Input :Bangalore is a city
Output: City is a Bangalore
但我希望输出如下所示:
Input: Bangalore is a city
Output:cityaisba ng a lore
另一个例子:
Input: Hello Iam New To Java.Java is object Oriented language.
Output: langu age Ori en tedo bjec ti sjava. javaToNe wIamolleH
请帮帮我
# 1 楼答案
我没有像GHajba那样检查代码的有效性。但是,如果希望空间保留在特定位置,可以选择删除所有空间,并根据原始字符串中的索引将其放回原处
全部删除
把它们放回去
newBread=str.toString()
我很快就想到了这个方法,也许没有StringBuilder,可能会有更好的方法,但在找到更好的方法之前,这可能会对您有所帮助
# 2 楼答案
将不带空格的反向单词追加到
StringBuffer
中然后将原始
String
的空格插入StringBuffer
# 3 楼答案
以下是一种方法:
# 4 楼答案
当我运行您的代码时,我得到以下结果:
所以,要将它放在一行中,为什么不添加一个空格并打印一行呢
# 5 楼答案
试试这个(我使用了一个字符串作为输入):